/**
 * prettier-config - ok
 */
export default {
    /**
     * 尝试使用Pretty的新三元格式. default = false
     */
    experimentalTernaries: false,
    /**
     * 每行宽度 (使用 .editorconfig 配置)
     */
    //   printWidth: 80,
    /**
     * 缩进级别的空格数 (使用 .editorconfig 配置)
     */
    //   tabWidth: 4,
    /**
     *  使用制表符代替空格来缩进
     */
    useTabs: false,
    /**
     * 语句末尾分号
     */
    semi: false,
    /**
     * 字符串使用单引号代替双引号
     */
    singleQuote: false,
    /**
     * 对象中的属性的引用方式 "as-needed | consistent | preserve"
     * as-needed  - 仅在需要给对象属性添加引号 (default)
     * consistent - 如果对象中的至少一个属性需要引用，则引用所有属性。
     * preserve - 保持对象属性中引号的输入使用
     */
    quoteProps: "as-needed",
    /**
     * 在 jsx 中使用单引号
     */
    jsxSingleQuote: false,
    /**
     * 在多行逗号分隔的语法结构中尽可能多地打印尾随逗号
     * all - 尽可能使用尾逗号 (default)
     * es5 - ES5中有效的尾逗号
     * none - 不使用尾逗号
     */
    trailingComma: "none",
    /**
     * 在对象字面中打印括号之间的空格
     */
    bracketSpacing: true,
    /**
     * 将多行HTML (HTML、JSX、Vue、Angular) 元素的 > 放在最后一行的末尾，而不是单独放在下一行
     */
    bracketSameLine: false,
    /**
     * 在单个箭头函数参数周围包含括号 "always|avoid"
     */
    arrowParens: "always",
    /**
     * 在文件顶部的特殊注释
     * 如果文件的第一个注释为 @prettier OR @format 该文件将被格式化
     */
    requirePragma: false,
    /**
     * Prettier可以在文件顶部插入一个特殊的@format标记，标明该文件已使用Prettier进行了格式化。
     * 当与--require-pragma选项配合使用时效果很好。如果文件顶部已经存在docblock，则此选项将用@format标记在其后添加一行新线。
     * 当两种选项同时使用时，--require-pragma具有优先级，因此--insert-pragma将被忽略。
     */
    insertPragma: false,
    /**
     * 行折叠方式 "always|never|preserve"
     */
    proseWrap: "preserve",
    /**
     * 指定 HTML、Vue、Angular 和 Handlebars 的全局空白敏感性 "css|strict|ignore"
     */
    htmlWhitespaceSensitivity: "css",
    /**
     * 在 vue 文件的 <script> 和 <style> 中缩进代码
     */
    vueIndentScriptAndStyle: false,
    /**
     * 行尾 "lf|crlf|cr|auto"
     */
    endOfLine: "lf",
    /**
     * 当Prettier识别出看起来你已经将一些代码放入了另一个文件中的字符串中时，
     * 它知道如何对这些代码进行格式化，例如在JavaScript中的带有html标签的标
     * 记模板中或在Markdown中的代码块中，默认情况下它会尝试对这些代码进行格式化。
     * "off|auto"
     */
    embeddedLanguageFormatting: "auto",
    /**
     * Enforce single attribute per line in HTML, Vue, and JSX.
     * 每行强制执行单个属性
     */
    singleAttributePerLine: false,
    /**
     * 默认情况下，Prettier会根据输入文件扩展名自动推断要使用的解析器。
     * 结合使用覆盖选项，可以教Prettier如何解析它不识别的文件。
     */
    overrides: [{ files: ["*.frag"], options: { parser: "glsl-parser" } }],
    /**
     * 插件
     */
    plugins: [
        // "prettier-plugin-tailwindcss"
        "prettier-plugin-glsl",
        "prettier-plugin-sh",
        "prettier-plugin-packagejson"
    ]
}

/*
{
    "$schema": "https://json.schemastore.org/prettierrc",
    "semi": false,
    "singleQuote": false,
    "arrowParens": "always",
    "trailingComma": "es5",
    "vueIndentScriptAndStyle": false,
    "plugins": ["prettier-plugin-packagejson"]
}
*/
